package CDB;
// Generated 31-ago-2013 13:25:05 by Hibernate Tools 3.2.1.GA


import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Producto generated by hbm2java
 */
@Entity
@Table(name="producto"
    ,catalog="salestedispatcher"
)
public class Producto  implements java.io.Serializable {


     private Integer idproducto;
     private Categorias categorias;
     private Stock stock;
     private String nombre;
     private Set<Detalleproducto> detalleproductos = new HashSet<Detalleproducto>(0);
     private Set<Detalleventa> detalleventas = new HashSet<Detalleventa>(0);

    public Producto() {
    }

	
    public Producto(Categorias categorias, Stock stock, String nombre) {
        this.categorias = categorias;
        this.stock = stock;
        this.nombre = nombre;
    }
    public Producto(Categorias categorias, Stock stock, String nombre, Set<Detalleproducto> detalleproductos, Set<Detalleventa> detalleventas) {
       this.categorias = categorias;
       this.stock = stock;
       this.nombre = nombre;
       this.detalleproductos = detalleproductos;
       this.detalleventas = detalleventas;
    }
   
     @Id @GeneratedValue(strategy=IDENTITY)
    
    @Column(name="idproducto", unique=true, nullable=false)
    public Integer getIdproducto() {
        return this.idproducto;
    }
    
    public void setIdproducto(Integer idproducto) {
        this.idproducto = idproducto;
    }
@ManyToOne(fetch=FetchType.EAGER)
    @JoinColumn(name="idcategoria", nullable=false)
    public Categorias getCategorias() {
        return this.categorias;
    }
    
    public void setCategorias(Categorias categorias) {
        this.categorias = categorias;
    }
@ManyToOne(fetch=FetchType.EAGER)
    @JoinColumn(name="idstock", nullable=false)
    public Stock getStock() {
        return this.stock;
    }
    
    public void setStock(Stock stock) {
        this.stock = stock;
    }
    
    @Column(name="nombre", nullable=false, length=25)
    public String getNombre() {
        return this.nombre;
    }
    
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER, mappedBy="producto")
    public Set<Detalleproducto> getDetalleproductos() {
        return this.detalleproductos;
    }
    
    public void setDetalleproductos(Set<Detalleproducto> detalleproductos) {
        this.detalleproductos = detalleproductos;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER, mappedBy="producto")
    public Set<Detalleventa> getDetalleventas() {
        return this.detalleventas;
    }
    
    public void setDetalleventas(Set<Detalleventa> detalleventas) {
        this.detalleventas = detalleventas;
    }




}


